#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <ctype.h>

/**
 * Funcao para contar o numero de caracteres de um texto
 */
int contarTexto(char *texto);

/**
 * Funcao para contar o alfabeto de um padrao
 * padrao -> string que representa o padrao
 * n -> tamanho da string do padrao
 */
int contarAlfabeto(char *padrao, int n);

/**
 * Funcao para obter o alfabeto do padrao
 * padrao -> string que representa o padrao
 * n -> tamanho da string do padrao
 */
char* obterAlfabeto(char *padrao, int n);

/**
 * Funcao para gerar a matriz de estados do automato finito que representa o padrão
 * padrao -> string com caracter adicional que representa o padrao
 * alfabeto -> alfabeto do padrao
 * linhas -> numero de linhas da matriz
 * colunas -> numero de colunas da matriz
 */
int** gerarMatrizEstados(char *padrao, char *alfabeto, int linhas, int colunas);

/**
 * Funcao para liberar o espaco ocupado pela matriz de estados
 * matriz -> matriz de estados
 * linhas -> numero de linhas da matriz
 */
void liberaMatriz(int **matriz, int linhas);



